package com.xuecheng.message.sdk.model.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 *
 */
@Data
@TableName("mq_message_history")
public class MqMessageHistory implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 消息id
     */
    @ApiModelProperty(value = "消息id")
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    /**
     * 消息类型代码
     */
    @ApiModelProperty(value = "消息类型代码")
    private String messageType;

    /**
     * 关联业务信息
     */
    @ApiModelProperty(value = "关联业务信息")
    private String businessKey1;

    /**
     * 关联业务信息
     */
    @ApiModelProperty(value = "关联业务信息")
    private String businessKey2;

    /**
     * 关联业务信息
     */
    @ApiModelProperty(value = "关联业务信息")
    private String businessKey3;

    /**
     * 执行次数
     */
    @ApiModelProperty(value = "执行次数")
    private Integer executeNum;

    /**
     * 处理状态，0:初始，1:成功，2:失败
     */
    @ApiModelProperty(value = "处理状态，0:初始，1:成功，2:失败")
    private Integer state;

    /**
     * 回复失败时间
     */
    @ApiModelProperty(value = "回复失败时间")
    private LocalDateTime returnFailureDate;

    /**
     * 回复成功时间
     */
    @ApiModelProperty(value = "回复成功时间")
    private LocalDateTime returnSuccessDate;

    /**
     * 回复失败内容
     */
    @ApiModelProperty(value = "回复失败内容")
    private String returnFailureMsg;

    /**
     * 最近执行时间
     */
    @ApiModelProperty(value = "最近执行时间")
    private LocalDateTime executeDate;

    /**
     * 阶段状态1
     */
    @ApiModelProperty(value = "阶段状态1")
    private String stageState1;

    /**
     * 阶段状态2
     */
    @ApiModelProperty(value = "阶段状态2")
    private String stageState2;

    /**
     * 阶段状态3
     */
    @ApiModelProperty(value = "阶段状态3")
    private String stageState3;

    /**
     * 阶段状态4
     */
    @ApiModelProperty(value = "阶段状态4")
    private String stageState4;
}
